// 定义data的值
let data = {
    pagenum: 2,  //表示当前默认页码
    pagesize: 3,   // 表示每页显示几条数据
    // state: '已发布',
    // cate_id:2
}


// ----------------------------- 获取分类，渲染到下拉框的位置 -------------------------
// 定义一个全局变量
function rendering() {
    $.ajax({
        url: '/my/article/list',
        data: data,
        success: function (res) {
            let html = ''
            res.data.forEach(function (value) {
                html += `<tr>
                <td>${value.title}</td>
                <td>${value.cate_name}</td>
                <td>${value.pub_date}</td>
                <td>${value.state}</td>
                <td>
                <a href="./editor4.html?id=${value.id}" class="layui-btn layui-btn-xs">编辑</a>
                <button data-id=${value.id} type="button" class="layui-btn layui-btn-xs layui-btn-danger delete">删除</button>
                </td>
            </tr>`
            })
            $('tbody').html(html)
            // 当ajax请求成功之后，获取到总数之后，调用显示分页的函数
            showPage(res.total)
        }
    })
}
// 调用
rendering()


// 定义一个函数实现分页
function showPage(t) {
    var laypage = layui.laypage;

    //执行一个laypage实例
    laypage.render({
        elem: 'page' //注意，这里的 test1 是 ID，不用加 # 号
        , count: t //数据总数，从服务端得到
        , curr: data.pagenum   //表示当前默认页码
        , limit: data.pagesize   // 表示每页显示几条数据
        , limits: [2, 3, 5]    //每页条数的选择项
        , layout: ['limit', 'prev', 'page', 'next', 'count', 'skip']
        , jump: function (obj, first) {
            //obj包含了当前分页的所有参数，比如：
            // console.log(obj.curr); //得到当前页，以便向服务端请求对应页的数据。
            // console.log(obj.limit); //得到每页显示的条数

            //首次不执行
            if (!first) {
                data.pagenum = obj.curr
                data.pagesize = obj.limit
                rendering()
            }
        }
    });
}




// -------------------------- 筛选 ------------------------------
let form = layui.form
$.ajax({
    url: '/my/category/list',
    success: function (res) {
        let html = ''
        res.data.forEach(function (val) {
            html += `<option value="${val.id}">${val.name}</option>`
        })

        $('#drive').append(html)
        // 更新渲染
        form.render('select');
    }
})



// 2. 完成筛选
$('#search').on('submit', function (e) {
    e.preventDefault()
    let cate_id = $('#drive').val()
    let state = $('#state').val()

    if (cate_id) {
        data.cate_id = cate_id
    } else {
        delete data.cate_id   // delete 用于删除对象的属性
    }

    if (state) {
        data.state = state
    } else {
        delete data.state
    }

    // 重置页码为 1
    data.pagenum = 1
    // 渲染页面即可
    rendering()
})



// -----------------------------------删除----------------------------delete
$('tbody').on('click', 'button:contains("删除")', function () {
    let id = $(this).data('id')
    // 提示确认删除
    layer.alert('确认删除', function (index) {
        //do something
        $.ajax({
            url: '/my/article/delete/' + id,
            success: function (res) {
                // 提示框
                layer.msg(res.message)
                // 重新渲染数据
                rendering()
            }
        })

        layer.close(index);
    });
})


